let fs = require('fs');
let obj = {};
//读文件
['readFile', 'readdir'].forEach(item => {
    obj[item] = function (url, encoding = null) {
        if (/\.(js|css|html|txt|md)$/.test(url)) {
            encoding = 'utf-8'
        }
        return new Promise((res, rej) => {
            fs[item](url, encoding, (err, data) => {
                if (!err) {
                    res(data)
                } else {
                    rej(err)
                }
            })
        })
    }
});
['mkdir', 'rmdir', 'unlink'].forEach(item => {
    obj[item] = function (url) {
        return new Promise((res, rej) => {
            fs[item](url, (err) => {
                if (!err) {
                    res()
                } else {
                    rej(err)
                }
            })
        })
    }
});
//写文件
['writeFile', 'appendFile'].forEach(item => {
    obj[item] = function (url, data, encoding = null) {
        if (/\.(js|css|html|txt|md)$/.test(url)) {
            encoding = 'utf-8'
        }
        return new Promise((res, rej) => {
            fs[item](url, data, encoding, (err) => {
                if (!err) {
                    res()
                } else {
                    rej(err)
                }
            })
        })
    }
})
//复制文件
obj.copyFile = function (oldUrl, newUrl) {
    return new Promise((res, rej) => {
        fs.copyFile(oldUrl, newUrl, (err) => {
            if (!err) {
                res()
            } else {
                rej(err)
            }
        })
    })
}
module.exports = obj;